Skip to content

Conversation

@j9liu
Copy link
Contributor

@j9liu j9liu commented Nov 19, 2025

Description

Depends on #1757, so merge that first.

This change removes the non-meaningful bHasKhrTextureTransform properties from FCesiumFeatureIdSetDescription and FCesiumPropertyTexturePropertyDescription. Now, it will always generate nodes to intercept any scale / offset / rotation parsed from KHR_texture_transform.

This simplifies some of the implementation in #1762, so IMO it is a worthwhile and easy change. It also won't break any existing materials because there are already correct default values when sampling feature ID textures anyway.

Issue number or link

Closes #1760.

Author checklist

  • I have done a full self-review of my code.
  • I have updated CHANGES.md with a short summary of my change (for user-facing changes).
  • [ ] I have added or updated unit tests to ensure consistent code coverage as necessary.
  • I have updated the documentation as necessary.

Testing plan

Although #1764 exists, it's still possible to test the actual generation of nodes in the material. Also open 06_CesiumMetadata to check that it still works, since it uses feature ID textures without the KHR_texture_transform extension.

@j9liu j9liu self-assigned this Nov 19, 2025
@j9liu j9liu changed the base branch from main to detect-instanced-features November 19, 2025 16:11
Base automatically changed from detect-instanced-features to main November 19, 2025 18:37
@j9liu j9liu added this to the January 2026 Release milestone Nov 20, 2025
@kring
Copy link
Member

kring commented Dec 3, 2025

@j9liu I tried this test:

  1. Open the 06_CesiumMetadata level of the Cesium for Unreal Samples.
  2. Click the San Francisco Ferry Building actor, then the CesiumFeaturesMetadata component attached to it.
  3. Click the "GenerateMaterial" button.
  4. Click Save in the material editor that opens up.

This makes the model turn grey:
image

I can't see any errors or warnings or anything relevant in the log.

That's unexpected, right?

@kring
Copy link
Member

kring commented Dec 3, 2025

I guess the problem is that everything has been disconnected:
image

I thought user connections were supposed to be preserved when regenerating the material, but maybe I'm misremembering.

@j9liu
Copy link
Contributor Author

j9liu commented Dec 3, 2025

I thought user connections were supposed to be preserved when regenerating the material, but maybe I'm misremembering.

They're supposed to, but for some reason the If node does not reliably re-build those connections. I believe you can see this behavior on main, too (and my bad for not writing up an issue about it earlier!)

@kring kring self-requested a review December 5, 2025 05:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Ignore KHR_texture_transform distinction for textures in UCesiumFeaturesMetadataComponent

3 participants